Computer systems are ubiquitous in today's work and home environments. The data stored on these computer, systems, however, is vulnerable to theft, fire, flood, and other natural disasters. A data storage system is needed to support a backup and restore system for a large number of client computing devices. Multiple data centers may be employed to store user data backups. A user may backup user data from a computing device. The user may want to restore the backed up user data to the same or another computing device. The computing devices may be running different operating systems. Thus, a need exists for a system that restores backed up user data to correct locations on the computing device. Also, a need exists for a restore system that allows users to easily customize the restore process.